home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C / Games / SpriteFight 2002 v2.0a1 / SpriteError.c < prev    next >
Text File  |  1996-05-01  |  3KB  |  134 lines

  1. /* SpriteError.c by Stefan C. Sinclair Copyright © 1995-1996 All rights rserved */
  2.  
  3. #include "SpriteError.h"
  4.  
  5. extern Boolean gSpeech;
  6. static Boolean doneTalking;
  7.  
  8. /********** DoMessage ********************/
  9. void DoMessage( short message)
  10. {
  11.     Str255 messageString;
  12.     short    ok;
  13.     OSErr    err;
  14.  
  15.     GetIndString(messageString, kMessageStringListID, message);
  16.  
  17.     if (messageString[0] == 0)
  18.         BlockMove(kSeriousDamageString, messageString, sizeof(kSeriousDamageString));
  19.     
  20.     ParamText(messageString, "\p","\p", "\p");
  21.     if(gSpeech)
  22.     {
  23.         ErrorSound(nil); // Shut off system sounds
  24.         err = SpeakString(messageString);
  25.     }
  26.     ok = NoteAlert(kDoErrorAlertID, NULL);
  27.     // Shut up!
  28.     if(gSpeech)
  29.     {
  30.         err = SpeakString("\p");
  31.     }
  32. }
  33.  
  34. /********** DoError ********************/
  35. void DoError( short error, Boolean fatal)
  36. {
  37.     Str255 messageString;
  38.  
  39.     GetIndString(messageString, kDoErrorStringListResID, error);
  40.  
  41.     if (messageString[0] == 0)
  42.         BlockMove(kSeriousDamageString, messageString, sizeof(kSeriousDamageString));
  43.     
  44.     ParamText(messageString, "\p","\p", "\p");
  45.     if(!fatal)
  46.         CautionAlert(kDoErrorAlertID, NULL);
  47.     else
  48.     {
  49.         StopAlert(kDoErrorAlertID, NULL);
  50.         ExitToShell();
  51.     }
  52. }
  53.  
  54. Boolean ChoiceAlert(short choice)
  55. {
  56.     Str255 messageString;
  57.     Boolean    hitOK = FALSE;
  58.  
  59.     GetIndString(messageString, kChoiceStringListResID, choice);
  60.  
  61.     if (messageString[0] == 0)
  62.         BlockMove(kSeriousDamageString, messageString, sizeof(kSeriousDamageString));
  63.     
  64.     ParamText(messageString, "\p","\p", "\p");
  65.     if(Alert(kChoiceAlertResID, NULL) == kItemNumber2)
  66.         hitOK = TRUE;
  67.     
  68.     return hitOK;
  69. }
  70.  
  71. void CantFindResource(void)
  72. {
  73.     OSErr err;
  74.     
  75.     err = ResError();
  76.     
  77.     if (err == noErr)
  78.         err = resNotFound;
  79.     ErrorAlert(err, kCantFindResourceStringIndex);
  80.     ExitToShell();
  81. }
  82.  
  83. void ErrorAlert(OSErr err,short errorStringIndex)
  84. {
  85.     Str255 messageString, errorString;
  86.  
  87.         // make sure we don't know what this error is...
  88.     if (errorStringIndex == kUnknownErrorStringIndex)
  89.     {
  90.         switch (err)
  91.         {
  92.             case memFullErr:
  93.                 errorStringIndex = kNotEnoughMemoryStringIndex;
  94.                 break;
  95.  
  96.             case resNotFound:
  97.                 errorStringIndex = kCantFindResourceStringIndex;
  98.                 break;
  99.         }
  100.     }
  101.  
  102.     GetIndString(messageString, kErrorStringListResID, errorStringIndex);
  103.  
  104.     if (messageString[0] == 0)
  105.         BlockMove(kSeriousDamageString, messageString, sizeof(kSeriousDamageString));
  106.     
  107.     NumToString(err, errorString);
  108.  
  109.     ParamText(messageString, errorString, "\p", "\p");
  110.  
  111.     (void)StopAlert(kErrorAlertResID, NULL);
  112. }
  113.  
  114. void CantRunOnThisMachine(short whyNot, Boolean fatal)
  115. {
  116.     Str255 messageString;
  117.     short errorStringIndex;
  118.  
  119.     GetIndString(messageString, kErrorStringListResID, whyNot);
  120.  
  121.     if (messageString[0] == 0)
  122.         BlockMove(kSeriousDamageString, messageString, sizeof(kSeriousDamageString));
  123.     
  124.     ParamText(messageString, "\p","\p", "\p");
  125.     if(fatal)
  126.     {
  127.         StopAlert(kCantRunAlertResID, NULL);
  128.         ExitToShell();
  129.     }
  130.     else
  131.         CautionAlert(kCantRunAlertResID, NULL);
  132. }
  133.  
  134.